package com.ruoyi.mapper;

import java.util.List;

import com.ruoyi.domain.LendMessage;
import com.ruoyi.domain.SysRate;
import org.apache.ibatis.annotations.Insert;
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Select;

/**
 * 评分Mapper接口
 *
 * @author ruoyi
 * @date 2024-01-05
 */
public interface SysRateMapper
{
//    /**
//     * 插入评分
//     * @param id
//     * @param score
//     * @param bookId
//     * @param userId
//     * @return
//     */
//        @Insert("insert into sys_rate ( id, score, book_id, user_id) values (#{id}, #{score}, #{bookId}, #{userId})")
//        int insertCount (@Param("id") Long id, @Param("score") Long score, @Param("bookId") Long bookId, @Param("userId") Long userId) ;
//
//    /**
//     * 检查是否重复评分
//     * @param userId
//     * @return
//     */
//    @Select("select * from sys_rate where user_id =#{userId}")
//    SysRate selectOne (Long userId);
//
//    /**
//     * 查询这个人是否借过这本书
//     * @param bookId
//     * @param userId
//     * @return
//     */
////    @Select("select * from sys_rate where book_id = #{bookId} and user_id = #{userId}")
////    LendMessage selectLend(Long bookId, Long userId);
//    @Select("select * from sys_lend_list where book_id = #{bookId} and user_id = #{userId}")
//    List<LendMessage> selectLend(@Param("bookId") Long bookId, @Param("userId") Long userId);
//
//    @Select("select score from sys_rate where book_id = #{bookId} ")
//    List<SysRate> getRateList(int bookId);
//
//   @Select("select id from sys_rate where score = #{score} and book_id = #{bookId}")
//    List<SysRate> getScoreRank(@Param("score") int score,@Param("bookId") Long bookId);
//
//
//    /**
//     * 查询评分
//     *
//     * @param id 评分主键
//     * @return 评分
//     */
//    public SysRate selectSysRateById(Long id);
//
//    /**
//     * 查询评分列表
//     *
//     * @param sysRate 评分
//     * @return 评分集合
//     */
//    public List<SysRate> selectSysRateList(SysRate sysRate);
//
//    /**
//     * 新增评分
//     *
//     * @param sysRate 评分
//     * @return 结果
//     */
//    public int insertSysRate(SysRate sysRate);
//
//    /**
//     * 修改评分
//     *
//     * @param sysRate 评分
//     * @return 结果
//     */
//    public int updateSysRate(SysRate sysRate);
//
//    /**
//     * 删除评分
//     *
//     * @param id 评分主键
//     * @return 结果
//     */
//    public int deleteSysRateById(Long id);
//
//    /**
//     * 批量删除评分
//     *
//     * @param ids 需要删除的数据主键集合
//     * @return 结果
//     */
//    public int deleteSysRateByIds(Long[] ids);
@Insert("insert into sys_rate (id, score, book_id, user_id) values (#{id}, #{score}, #{bookId}, #{userId})")
int insertCount (@Param("id") Long id, @Param("score") Long score, @Param("bookId") Long bookId, @Param("userId") Long userId);

    @Select("select * from sys_rate where user_id = #{userId}")
    SysRate selectOne(Long userId);

    @Select("select * from sys_lend_list where book_id = #{bookId} and user_id = #{userId}")
    List<LendMessage> selectLend(@Param("bookId") Long bookId, @Param("userId") Long userId);

    @Select("select score from sys_rate where book_id = #{bookId}")
    List<SysRate> getRateList(int bookId);

    @Select("select id from sys_rate where score = #{score} and book_id = #{bookId}")
    List<SysRate> getScoreRank(@Param("score") int score, @Param("bookId") Long bookId);

    public SysRate selectSysRateById(Long id);

    public List<SysRate> selectSysRateList(SysRate sysRate);

    public int insertSysRate(SysRate sysRate);

    public int updateSysRate(SysRate sysRate);

    public int deleteSysRateById(Long id);

    public int deleteSysRateByIds(Long[] ids);
}
